﻿using System.Diagnostics;
using System.Globalization;
using NUnit.Framework;

namespace Dgg.LearnYourTools.NUnit.A_BasicAttributes
{
	[TestFixture]
	public class _003_AutomaticFiltering
	{
		[Test, Ignore("for no reason")]
		public void Ignored()
		{
			Assert.Fail();
		}

		[Test, Explicit("because I say so")]
		public void IgnoredUnlessExplicitlyRun()
		{
			Assert.Fail(); ;
		}

		public _003_AutomaticFiltering()
		{
			Debug.WriteLine("Culture: {0} UI: {1}", CultureInfo.CurrentCulture, CultureInfo.CurrentUICulture);
		}

		[Test, Culture("en-US")]
		public void RunUnderCulture_US()
		{	
		}

		[Test, Culture("da-DK")]
		public void RunUnderCulture_daDK()
		{
		}

		[Test, Culture("da, es")]
		public void RunUnderMultipleCultures()
		{
		}

		[Test, Culture(Include = "es, da", Reason = "I like them")]
		public void RunUnderMultipleCultures_Explicit_WithAReason()
		{
		}

		[Test, Culture(Exclude = "da", Reason = "I hate them")]
		public void Run_ExcludeCultures_Explicit_WithAReason()
		{
		}

		[Test, Platform("Net-4.0")]
		public void RunsInNet4()
		{
		}

		[Test, Platform(Exclude = "Windows7", Reason = "I hate windows")]
		public void DoNotRunInWindows7()
		{
		}

		[Test, Platform(Include = "Net-4.0", Exclude = "Windows7")]
		public void Contradicting()
		{
		}
	}
}
